package com.doubao.user.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doubao.user.entity.UserNotification;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 用户消息通知Mapper接口
 */
@Mapper
public interface UserNotificationMapper extends BaseMapper<UserNotification> {

    /**
     * 将通知标记为已读
     *
     * @param id 通知ID
     * @return 影响行数
     */
    int markAsRead(@Param("id") Long id);

    /**
     * 将用户所有通知标记为已读
     *
     * @param userId 用户ID
     * @return 影响行数
     */
    int markAllAsRead(@Param("userId") Long userId);

    /**
     * 将指定类型的通知标记为已读
     *
     * @param userId 用户ID
     * @param type   通知类型
     * @return 影响行数
     */
    int markTypeAsRead(@Param("userId") Long userId, @Param("type") String type);
}